def adventure_game():
    print("欢迎来到迷宫探险！你的目标是找到出口。")
    location = 'start'
    backpack = {'map': True, 'magic_potion': True}

    def check_backpack():
        print("你的背包中有：")
        for item, has_it in backpack.items():
            if has_it:
                print(f"- {item}")

    while True:
        if location == 'start':
            action = input("你现在站在迷宫的入口，你可以向前走，输入'forward'；检查背包，输入'check bag'；或者查看地图，输入'map'：")
            if action == 'forward':
                location = 'hallway'
            elif action == 'check bag':
                check_backpack()
            elif action == 'map':
                print("你查看了地图，发现迷宫大致呈L形，你目前在起点。")
            else:
                print("无效的指令，请重新输入。")

        elif location == 'hallway':
            direction = input("你来到了一条长廊，你可以向左转，输入'left'；向右转，输入'right'；前往神秘房间，输入'mystery'；或者返回入口，输入'back'：")
            if direction == 'left':
                location = 'treasure_room'
            elif direction == 'right':
                location = 'monster_room'
            elif direction == 'mystery':
                location = 'mystery_room'
            elif direction == 'back':
                location = 'start'
            else:
                print("无效的指令，请重新输入。")

        elif location == 'treasure_room':
            print("你找到了一间藏宝室，里面堆满了金币和宝石。")
            break

        elif location == 'monster_room':
            if backpack['magic_potion']:
                print("你不幸遇到了一只可怕的怪物！")
                use_potion = input("你是否要使用魔法药水击退怪物？输入'y'或'n'：")
                if use_potion.lower() == 'y':
                    print("魔法药水生效，怪物被击退了！")
                    backpack['magic_potion'] = False
                    location = 'hallway'
                else:
                    print("你没有使用魔法药水，被怪物攻击，游戏结束。")
                    break
            else:
                print("你没有魔法药水，无法击退怪物，游戏结束。")
                break

        elif location == 'mystery_room':
            if not backpack.get('torch', False):
                print("你进入了一个神秘的房间，里面一片漆黑。")
                take_torch = input("你找到了一支手电筒，你是否要拿走它？输入'y'或'n'：")
                if take_torch.lower() == 'y':
                    backpack['torch'] = True
                    print("你拿起手电筒，现在可以照亮黑暗的地方了。")
                else:
                    print("你决定不拿手电筒，继续前进。")
                location = 'hallway'
            else:
                print("你再次进入了神秘的房间，但是这里似乎没有什么新的东西。")
                location = 'hallway'


adventure_game()